/**
 * 日期格式化工具
 * @param {Date} date - 日期对象（如：Thu Sep 18 2025 10:12:16 GMT+0800 (中国标准时间)）
 * @param {string} [format='YYYY-MM-DD HH:mm:ss'] - 目标格式，默认YYYY-MM-DD HH:mm:ss
 * @returns {string} 格式化后的日期字符串
 */
export function formatDate(date, format = 'YYYY-MM-DD HH:mm:ss') {
  // 处理无效日期
  if (!date || !(date instanceof Date) || isNaN(date.getTime())) {
    console.warn('无效的日期对象');
    return '';
  }

  // 补零函数
  const padZero = (num) => num < 10 ? `0${num}` : num;

  // 提取日期部分
  const year = date.getFullYear();
  const month = padZero(date.getMonth() + 1); // 月份从0开始
  const day = padZero(date.getDate());
  const hours = padZero(date.getHours());
  const minutes = padZero(date.getMinutes());
  const seconds = padZero(date.getSeconds());

  // 替换格式字符串
  return format
    .replace('YYYY', year)
    .replace('MM', month)
    .replace('DD', day)
    .replace('HH', hours)
    .replace('mm', minutes)
    .replace('ss', seconds);
}